package prueba.principal.dao;

import java.util.ArrayList;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

import model.Usuario;

import java.util.List;

public class UserDao {
	
	private static final String PERSISTENCE_UNIT_NAME = "testPU";
	private static EntityManagerFactory factory;
	private static EntityManager em;
	
	static{
		Usuario u= new Usuario();
		factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
		em = factory.createEntityManager();	    
	}
	
	
	public static List<Usuario> read(){
		
		Query q = em.createQuery("select * from usuarios u");
		@SuppressWarnings("unchecked")
		List<Usuario> lista = q.getResultList();
		
	    return lista;
	    
	}
	public static ArrayList<Usuario> getUsers(){
		return null;
	}
	public static void removeUser(String nombre){
		
		Usuario user=null;
		
		Query q = em.createQuery("select * from usuarios u where u.user = ?1");
		q.setParameter(1, nombre);
		
		user=(Usuario) q.getSingleResult();
		
		if(user!=null){
			em.getTransaction().begin();
			em.remove(user);
			em.getTransaction().commit();
		}
		
	}
	public static void addUser(String nombre, String password){
		
		em.getTransaction().begin();
		Usuario usr= new Usuario();
		usr.setUser(nombre);
		usr.setPassword(password);
		em.persist(usr);
		em.getTransaction().commit();
		
	}
	

}
